package com.basemanage.controller;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.baidu.ueditor.ActionEnter;
import com.basemanage.core.controller.JCBaseController;
import com.basemanage.core.util.FileUtils;
import com.basemanage.core.view.InvokeResult;
import com.jfinal.kit.Ret;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.upload.UploadFile;
import com.xiaoleilu.hutool.json.JSONObject;

public class UeditorController extends JCBaseController {
	
//	SiteService siteService = new SiteService();

    /**
     * ueditor初始化方法
     */
    public void index() {
    	
        if ("config".equals(getPara("action"))) {

            render("/res/js/ueditor/config.json");
            return;
        }
    	System.out.print("findconfig");
    	UploadFile uf = getFile("upfile");
		String fileName = uf.getFileName();
		String[] typeArr = fileName.split("\\.");
		Ret ret = Ret.create("state", "SUCCESS")
		.set("url", "/"+ fileName)//文件上传地址
		.set("title", fileName)
		.set("original", uf.getOriginalFileName())
		.set("type", "." + typeArr[1]) // 这里根据实际扩展名去写
		.set("size", uf.getFile().length());
		renderJson(ret);
    }


    /**
     * 获取存储到数据库中的路径
     * 没有则手动指定路径
     * @return
     */
//    private Record  getpath()
//    {
//        List<Record>  records =siteService.findList("");
//        return records.get(0);
//    }

    /**
     * 图片上传方法
     */
    public void upimage()
    {
	    JSONObject data = new JSONObject();
        try {
            //设置文件上传子目录
            String path="uploads/images/";
            //获取上传的文件
            UploadFile upload = getFile("upfile",path);
            File file = upload.getFile();
            //获取文件名
            String extName = FileUtils.getFileName(file.getName());
            //获取文件上传的父目录
            String filePath = upload.getUploadPath();
            //时间命名文件
            String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + extName;
            //重命名原来的文件
            file.renameTo(new File(filePath+fileName));
            //重新组合文件路径  ip+文件目录+文件名

            String fileUrl= getRequest().getRequestURL()+File.separator+path+fileName;

            data.put("path", fileUrl);
            data.put("title",fileName);
            

        } catch (Exception e) {
            e.printStackTrace();

        }

        renderJson(InvokeResult.success(data));
    }

//    /**
//     * 视频上传方法
//     */
//    public void upvideo()
//    {
//        AjaxMsg ajaxMsg = new AjaxMsg();
//        Ret ret = null;
//        try {
//            //设置文件上传子目录
//            String path="uploads/videos/";
//            //获取上传的文件
//            UploadFile upload = getFile("upfile",path);
//            File file = upload.getFile();
//            //获取文件名
//            String extName = FileUtils.getFileExt(file.getName());
//            //获取文件上传的父目录
//            String filePath = upload.getUploadPath();
//            //时间命名文件
//            String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + extName;
//            //重命名原来的文件
//            file.renameTo(new File(filePath+fileName));
//            //重新组合文件路径  ip+文件目录+文件名
//            String fileUrl=getpath().getStr("site_domain")+File.separator+path+fileName;
//
////            ajaxMsg.setState("success");
////            ajaxMsg.setMsg(fileUrl);
//            ret = Ret.create("state", "SUCCESS")
//                    .set("url", fileUrl)
//                    .set("path",fileUrl)
//                    .set("original", "")
//                    .set("title",fileName);
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            ajaxMsg.setState("fail");
//        }
//
//        renderJson(ret);
//    }
//
//    /**
//     * 文件上传方法
//     */
//    public void upfile()
//    {
//        AjaxMsg ajaxMsg = new AjaxMsg();
//        Ret ret = null;
//        try {
//            //设置文件上传子目录
//            String path="uploads/files/";
//            //获取上传的文件
//            UploadFile upload = getFile("upfile",path);
//            File file = upload.getFile();
//            //获取文件名
//            String extName = FileUtils.getFileExt(file.getName());
//            //获取文件上传的父目录
//            String filePath = upload.getUploadPath();
//            //时间命名文件
//            String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + extName;
//            //重命名原来的文件
//            file.renameTo(new File(filePath+fileName));
//            //重新组合文件路径  ip+文件目录+文件名
//            String fileUrl=getpath().getStr("site_domain")+File.separator+path+fileName;
//
////            ajaxMsg.setState("success");
////            ajaxMsg.setMsg(fileUrl);
//             ret = Ret.create("state", "SUCCESS")
//                    .set("url", fileUrl)
//                    .set("path",fileUrl)
//                    .set("original", "")
//                    .set("title",fileName);
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            ajaxMsg.setState("fail");
//        }
//
//        renderJson(ret);
//    }


    /**
     * ueditor上传
     */
    public void config(){
    	
        if ("config".equals(getPara("action"))) {
            render("/static/ueditor/config.json");
            return;
        }
        UploadFile file = getFile("upfile");
        String fileName = file.getFileName();
        String[] typeArr = fileName.split("\\.");
        String orig = file.getOriginalFileName();
        long size = file.getFile().length();

        String url="";
	    JSONObject data = new JSONObject();
        data.put("path",url);
        data.put("original", orig);
        data.put("type", "."+typeArr[1]);
        data.put("size", size);
        renderJson(InvokeResult.success(data));
    }

}
